Connecting Consumers with Providers of Live Videos

ABSTRACT

A computer-implemented method includes receiving by one or more computer systems, a request from a client system of a consumer for a live, real-time video having specified attributes of a performance embedded in the live, real-time video; searching by the one or more computer systems a database of attributes of performances associated with live, real-time videos; and causing by the one or more computer systems a connection between the client system of the consumer with a system of a provider of a live, real-time video captured performance based on the specified attributes included in the request for the live, real-time video.

CLAIM OF PRIORITY

This application is a continuation and claims priority under 35 U.S.C. §120 to U.S. patent application Ser. No. 13/024,289, filed Feb. 9, 2011,which claims priority under 35 U.S.C. § 119(e) to provisional U.S.Patent Application 61/302,847, filed on Feb. 9, 2010, the entirecontents of each of which are hereby incorporated by reference.

BACKGROUND

The present invention is directed to connecting consumers with serviceproviders. Systems have been developed to connect consumers and serviceproviders over the Internet and the World Wide Web. Some systems usee-mail messaging and web-based forms to increase the level ofconnectivity between a consumer and a service provider. The consumersends an e-mail or goes to a website that generates and sends a message(typically an e-mail or an e-mail type message) to a local provider.Another system is a brokerage type of system as described in U.S. Pat.No. 7,590,550.

SUMMARY

In one aspect of the present disclosure, a computer-implemented methodincludes receiving by one or more computer systems, a request from aclient system of a consumer for a live, real-time video having specifiedattributes of a performance embedded in the live, real-time video;searching by the one or more computer systems a database of attributesof performances associated with live, real-time videos; and causing bythe one or more computer systems a connection between the client systemof the consumer with a system of a provider of a live, real-time videocaptured performance based on the specified attributes included in therequest for the live, real-time video.

Implementations of the disclosure may include one or more of thefollowing features. In some implementations, the live, real-time videoincludes a live, theatrical performance video. In other implementations,the live, real-time video includes a live, adult entertainment video.The method also includes establishing a communication channel betweenthe consumer and the provider of the live, real-time video. The methodmay also include receiving a request to stream the live, real-time videoto a computing device associated with the consumer, wherein a computingdevice of the provider is instructed to begin streaming the live,real-time video to the computing device associated with the consumer,following receipt of the request.

In another aspect of the disclosure, a computer-implemented methodincludes: receiving a request from a client system of a consumer to viewa live, real-time video associated with one or more attributes in a setof attributes that define a suitable, live, real-time video; identifyingby a computer system one or more available providers streaming one ormore live, real-time videos satisfying at least some of the attributesin the set of attributes; receiving a selection of a particularprovider; and establishing, by the computer system between the clientsystem of the consumer and a system of the selected provider, areal-time communication channel through which the consumer views thelive, real-time video. Implementations of this aspect of the presentdisclosure can include one or more of the foregoing features.

In yet another aspect of the disclosure, one or more machine-readablemedia are configured to store instructions that are executable by one ormore processing devices to perform functions including receiving arequest from a client system of a consumer for a live, real-time videohaving specified attributes of a performance embedded in the live,real-time video; searching a database of attributes of performancesassociated with live, real-time videos; and causing by the one or morecomputer systems a connection between the client system of the consumerwith a system of a provider of a live, real-time video capturedperformance based on the specified attributes included in the requestfor the live, real-time video. Implementations of this aspect of thepresent disclosure can include one or more of the foregoing features.

In still another aspect of the disclosure, an electronic system includesone or more processing devices; and one or more machine-readable mediaconfigured to store instructions that are executable by the one or moreprocessing devices to perform functions including: receiving a requestfrom a client system of a consumer for a live, real-time video havingspecified attributes of a performance embedded in the live, real-timevideo; searching a database of attributes of performances associatedwith live, real-time videos; and causing by the one or more computersystems a connection between the client system of the consumer with asystem of a provider of a live, real-time video captured performancebased on the specified attributes included in the request for the live,real-time video. Implementations of this aspect of the presentdisclosure can include one or more of the foregoing features.

All or part of the foregoing may be implemented as a computer programproduct including instructions that are stored on one or morenon-transitory machine-readable storage media, and that are executableon one or more processing devices. All or part of the foregoing may beimplemented as an apparatus, method, or electronic system that mayinclude one or more processing devices and memory to store executableinstructions to implement the stated functions.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features,objects, and advantages will be apparent from the description anddrawings, and from the claims.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a diagrammatic view of an engagement brokerage service.

FIGS. 2, 3A-3C and 5 are flow charts of processes used in an engagementbrokerage system.

FIG. 4 is a table of sample criteria used in an engagement brokeragesystem.

DETAILED DESCRIPTION Overview

The system described below provides an integrated information andcommunication platform that enables consumers of services to identifyand prioritize service providers streaming or otherwise providing (i.e.,making accessible over a network) live video and/or live audio for theconsumer to view and/or hear. Consumers at clients systems are able tointeract on-line with a service provider, at a mutually convenient timeand place, even when the two parties are geographically separated. Thisintegrated platform is referred to herein as an engagement brokerageservice (brokerage).

FIG. 1 shows an example system 100 of the engagement brokerage systemfor live video and/or live audio. The system 100 includes a computerizedsystem or server 110 for making connections between consumers 120, atclient systems 122, and service providers 130, at client systems 132including, e.g., web cams or the like over a network 140, e.g., theInternet or other types of networks. The computerized system 110 mayoperate as a service running on a web server 102.

The computerized system 110 includes an availability or presencetracking module 112 for tracking the availability of the serviceproviders 130. In an example, a service provider may be immediately orpresently available to stream a real-time, live video to the consumer.That is, the brokerage system is configured to detect when a serviceprovider associated with specified attributes (e.g., for the real-time,live video and/or associated with a real-time, live video that includesspecified attributes) is presently available to provide the real-time,live video to the consumer.

Availability or presence is tracked actively or passively. In an activesystem, one or more of the service providers 130 provides an indicationto the computerized system 110 that the one or more service providersare available to be contacted by consumers 120 and an indication of themode by which the provider may be contacted. In some examples of anactive system, the provider's computer, phone, or other terminal deviceperiodically provides an indication of the provider's availability(e.g., available, online, idle, busy) to the system 110 and a mode(e.g., text, voice, video, etc.) by which the provider can be engaged.In a passive system, the computerized system 110 presumes that theservice provider 130 is available by the service provider's actions,including connecting to the computerized system 110 or registering theprovider's local phone number with the system. In some examples of apassive system, the system 110 indicates the provider 130 to beavailable at all times until the provider logs off, except when theprovider is actively engaged with a consumer 120.

The computerized system 110 also includes one or more processes such asthe tracking module 112 and a scheduling module 116. The system 110accesses one or more databases 118. The components of the system 110 andthe web server 102 may be integrated or distributed in variouscombinations.

Using the system 100, a consumer 120 communicates with a provider 130.The consumers 120 and providers 130 connect to the computerized system110 through a website or other interface on the web server 102 usingclient devices 122 and 132, respectively. Client devices 122 and 132 canbe any combination of, e.g., personal digital assistants, land-linetelephones, cell phones, computer systems, media-player-type devices,and so forth. The client devices 122 and 132 enable the consumers 120 toinput and receive information as well as to communicate via video,audio, and/or text with the providers 130.

Providers are, however, often available at times that are not convenientfor their consumers, for example, in the event of a last-minutecancellation. Providers also may be available during otherwise idletimes, such as when home. The brokerage supplements existing provideravailability to allow whichever providers are available at any giventime to provide live video/audio to consumers at their request. Insteadof relying on the unlikely availability of a specific provider for anygiven consumer, the brokerage connects the consumer to all onlineproviders capable of addressing the consumer's needs according to thematching of provider specific attributes specified by the consumer. Thebrokerage has distinct features including the ability to engage in livecommunication with a suitable, selectable provider and the ability to doso on-demand.

One advantage that the brokerage provides is that the brokerageconstantly monitors the availability of a provider for an engagement. Inorder to achieve such a level of availability, the system assimilatesthe discretionary or fractional availability windows of time offered byindividual providers into a continuous availability perception byconsumers. Since many of the services offered to consumers areon-demand, consumers have little expectation that the same provider willbe constantly available, rather, they expect that some provider will beavailable.

The computerized system 110 provides information and services to theconsumers 120 in addition to connecting them with providers 130. Thecomputerized system 110 includes an access control facility 114, whichmanages and controls whether a given consumer 120 may access the system110 and what level or scope of access to the features, functions, andservices the system 110 will provide.

The consumer 120 uses the system 100 to find out more information abouta topic of interest. The computerized system 110 identifies serviceproviders 130 that are available at any given moment to communicate witha consumer about a particular type of content. The computerized system110 facilitates communication between the consumer 120 and provider 130,enabling them to communicate, for example, via adata-network-facilitated video or voice communication channel (such asVoice over IP), land and mobile telephone network channels, and instantmessaging or chat. In some examples, the availability of one or moreproviders 130 is tracked, and at the instant a consumer 120 desires toconnect and view the provider's live video and/or audio, the system 110determines whether a provider is available. If a particular provider 130is available, the system 110 assesses the various modes of communicationthat are available and connects the consumer 120 and the provider 130through one or more common modes of communication.

The system selects a mode of communication to use based in part on therelative utility of the various modes. The preferred mode for anengagement is for both the consumer 120 and the provider 130 to useweb-based consoles, as this allows each of the other modes to be used asneeded. For example, consumers and providers may launch chat sessions,voice calls, or video chats from within a web-based console. If theprovider 130 is not available, the system 110 identifies other availableproviders 130 that would meet the consumer 120's needs. The system 110enables the consumer 120 to send a message to the consumer's chosenprovider. The consumer can also have the system 110 contact the consumerin the future when the chosen provider is available.

Referring now to FIG. 2, the computerized system 110 tracks 142 theavailability of providers 130 and consumers 120. When a provider 130logs 144 into the system 100, the provider 130 indicates 146 (such as bysetting a check box or selecting a menu entry or by responding to avoice prompt) to the tracking module 112 that he or she is available tointeract with consumers 120 and to broadcast his or her live videoand/or audio. The provider 130 can also indicate 148 to the trackingmodule 112 (such as by setting a check box or selecting a menu entry orby responding to a voice prompt) the modes (e.g., telephone, chat, videoconference) by which a consumer 120 can be connected to the provider130. Alternatively, the tracking module 114 determines 150 thecapabilities of the terminals 122 and 132 the consumer 120 and theprovider 130 use to connect to the system (for example, by using aterminal-based program to analyze the hardware configuration of eachterminal). Thus, if a provider 130 connects to the system 100 by adesktop computer and the provider has a video camera connected to thatcomputer, the tracking module 112 determines 150 that the provider 130can be engaged by text (e.g., chat or instant messenger), voice (e.g.,VoIP) or video conference. Similarly, if a provider 130 connects to thesystem using a handheld device such as a PDA, the tracking module 112determines 152 that the provider 130 can be engaged by text or voice.The tracking module 112 can also infer 152 a provider's availability andmodes of engagement by the provider's previously provided profileinformation and the terminal device through which the provider connectsto the system.

Providers participating in the brokerage network can have several statesof availability over time. States in which the provider may be availablemay include on-line, in which the provider is logged-in and can acceptnew engagements in any mode, on-line (busy), in which the provider islogged-in but is currently occupied in a video or telephonic engagement,and scheduled, in which the provider is offline but is scheduled to beonline at a designated time-point and can pre-schedule engagements forit. While not online, the provider can take messages as in offlinestate. Other states may include off-line, in which the provider is notlogged in but can take message-based engagements (i.e., asynchronousengagements), out-of-office, in which the provider is not acceptingengagements or messages, and standby, in which the provider is offlineand can be paged to Online status by the brokerage network if trafficload demands it (in some examples, consumers see this state as offline).

The operating business model for the provider network employs aremuneration scheme for providers that helps assure that the consumerscan find providers in designated professional domains in the onlinemode. For example, selected providers can be remunerated for being inthe standby mode to encourage their on-line availability in case of lowdiscretionary availability by other—providers in their professionaldomain. Standby providers are also called into the on-line state whenthe fraction of on-line (busy) providers in their professional domainexceeds a certain threshold. In some examples, the transition ofproviders from standby to online and back to standby (in case of overcapacity or idle capacity) is an automated function of the system.

The tracking module 112 transfers 154 information about the availabilityand the communication capability of the consumers 120 and the providers130 to the scheduling module 116 using, for example, one or morewell-known presence protocols, such as Instant Messaging and PresenceService (IMPS), Session Initiation Protocol (SIP) for Instant Messagingand Presence Leveraging Extensions (SIMPLE), and the ExtensibleMessaging and Presence Protocol (XMPP).

As noted, the system 100 includes access control facilities 114 thatcontrol how consumers 120 access the system and to what extent or levelthe services provided by the system are made available to consumers. Thesystem 100 also stores and provides access to consumer information(e.g., contact information, and preference/profile information to bedescribed later). However, other consumer information would typically bekept from the service provider such as credit and financial information,credit card information. Similarly, provider information (e.g.,biographies, product and service information, and any information theprovider wants to make available to consumers) can be made available.The access control facility 114 can prevent unauthorized access to thisinformation.

The brokerage provides compensation for products and services provided.Access to the system 100 may be provided on a subscription basis, withconsumers paying a fee (either directly or indirectly through anotherparty) to be provided with a particular level of access to the system.In exchange for providing products or services, the service provider mayreceive compensation from the consumer. In one embodiment, the consumerpays the operator, which keeps a portion (e.g., a percentage payment ora flat fee) and pays the remainder to the service provider. In anotherembodiment, the consumer or the service provider pays a flat fee orpercentage of the fee for the engagement to the operator. The operatormay be paid a flat fee or a percentage of the fee for the engagementtransaction. Alternatively, the consumer or the service provider or bothmay pay a fee (a service fee) to the operator for providing theconnection.

The Consumer Interface

Initiation of an Engagement

A consumer 120 engages with the brokerage system 100 to access a serviceprovider 130. Several types of engagements may exist. Examples of theseare described with respect to flowcharts in FIGS. 3A to 3C.

Referring now to FIG. 3A, a process 160 for establishing aconsumer-initiated engagement is shown. In a consumer-initiatedengagement, a consumer logs in 162 and communicates 164 the type of livevideo or audio the consumer wishes to view. A component of the brokeragesystem 100 assists the consumer in consolidating 168 the types of livevideo or audio the consumer wishes to view and helps select 170 theappropriate providers. A web page includes some initial questions, andanother web page provides a user interface for entering additionalcriteria to find a provider. A results page allows the consumer toselect a specific provider from a list of providers identified based onthe search criteria. Once a provider is selected and a mode ofengagement is chosen 184, the scheduling module 116 establishes 186 theengagement. In some examples, the brokerage associates 188 a uniqueidentifier with participating consumers which can be used in subsequentinteractions with the brokerage. The system can assign to a consumer abrokerage membership number or other similar, pre-existingidentification 190. If the consumer does not already have 192 a number,one is generated 194. The unique identifier can be used by the consumersto save their planned engagement for later retrieval.

Referring now to FIG. 3B, a process 196 for establishing a follow-up orprescheduled engagement is shown. Once an engagement is established 186as in FIG. 3A or as one is completed 198, the two parties can instruct200 a component of the system 100, such as the scheduling module 116, topursue the established engagement or a follow-up engagement atpre-defined schedules or at future time points. The system uses 202e-mail, automated telephone communication, or any other method ofcommunication to establish a convenient time for both parties toaccomplish the follow-up and then prompts 204 them to do so 206.

Referring now to FIG. 3C, a process 208 for a standby engagement isshown, with a user interface on a web page 210. A standby engagement issimilar to a consumer-initialized engagement. In a standby engagement,the consumer selects 212 a provider 180 or type of provider and requests214 that a component of the system 100, such as the scheduling module116, to notify the consumer by an appropriate communication, forexample, e-mail, text message, or an automated phone call, when theselected provider is online and accepting engagements. In one particularexample, the user has chosen to be called and input a phone number and alimit as to how long the user will wait. The consumer request is placed220 in a queue for the specific requested provider who is off-line (orfor a type of provider for which all qualified providers are off-line).When the system determines 222 that the provider is available, thesystem notifies 224 the consumer. When notified, the consumer logs in226 and is connected 228 to the provider.

As an option, a standby list for a provider may provide preferentialqueuing for some consumers. For example, preferential queuing may beprovided based on prior engagements with the provider (e.g., preferenceis given to follow-up engagements) or based on a service tier (e.g.,frequent user status) of that consumer. The brokerage can be configuredsuch that it collects information about the consumer (e.g., answers toinitial intake questions) and provides the collected information to thespecific service provider prior to initiating any further engagements.For example, a consumer can store information during aconsumer-initiated engagement as described above, park the information,and wait to be contacted when the specific selected provider isavailable.

Provider Selection

While the system can assist the consumer in identifying the mostappropriate providers, it also allows the consumer to filter theprovider list based on the consumer's preferences and access a view of aprovider availability matrix that changes as providers go on and offline.

Various criteria can be used to filter the available providers. Basicdetails indicate the consumer's preference for the type and gender ofthe provider and what modes of communication the consumer wants to beable to use. The user can also specify demographics including locationand languages spoken. Qualifications may include years of experience andvarious other criteria. A consumer can also use a search box to searchfor a provider by name.

Consumers may select providers according to the type of live video/audiobeing broadcast and attributes of the provider, such as a geographicalarea where the provider is located. Any metrics within the providerprofile (discussed below) can be used to define a list of providers thatmeet the consumer's preferences.

Once the consumer enters her search criteria 176, the results are shownon the web page. As mentioned, a list of providers is presented. Thislist may indicate each providers name and rating and whether theprovider is available. For the selected provider, additional details areshown, including picture of the user, specialty, demographicinformation, what types of connections the user can use for anengagement, and personal information. Tools allow the consumer toinitiate or schedule an engagement and/or view a live video/audio.

Providers already associated with the consumer may appear on theconsumers' short list. When reviewing the list of historicalengagements, consumers are able to access the engagement audit and theranking they have attributed to any engagements in the past.

Once a consumer has defined a collection of criteria to filter and finda provider, the system can offer tools to shorten the process in thefuture. Consumers may be able to save criteria-sets as named searchesand benefit from notifications when a search list surpasses a certainlevel of availability that may encourage the consumer to log in andcommunicate with a provider.

Modes of Engagement

The brokerage allows consumers to engage provider's “on demand” based onprovider availability. Engagements can be established in various ways,including:

Asynchronous correspondence—provider interaction by way of securemessaging. The question or topic of the engagement is sent to a selectedprovider (whether online or not) and is answered by this provider at theprovider's leisure. Turnaround times are monitored by the system and arepart of the credentials of the provider used for selection by consumers.The system informs the consumer once a response has been received andcan allow the consumer to redirect the question if the consumer needsmore urgent response time. For example, typical types of asynchronouscorrespondence include e-mail, instant messaging, text-messaging, voicemail messaging, VoIP messaging (i.e., leaving a message using VoIP), andpaper letters (e.g., via the U.S. Postal Service).

Synchronous correspondence—Several forms of synchronous correspondenceallow the consumer and the provider to engage in real-time discussions.

Synchronous text correspondence—This may be referred to as a “Chat”module where both sides of the engagement type their entries in responseto each others' entries. The form of communication may be entirely textbased but is still a live communication. Examples include instantmessaging and SMS messaging.

Web-based streaming live video—The use of broadband network connectionsallows for real-time voice and video transmission over the Internet.Web-based teleconferencing may use VoIP, SIP, and other standard orproprietary technologies. Small digital cameras, referred to as webcams,attached to or built in to personal computers or laptops can be used forthis purpose and can be provided by standard software or by customsoftware provided by the brokerage. Alternatively, dedicated videoconferencing communication equipment or telephones with built-in videocapabilities can be used.

Engagement Redirection

In some examples, a consumer redirects an active engagement to anotherprovider or provider type. A consumer may also redirect an engagement toemploy a different mode of communication with the current provider(e.g., move from a text chat to a phone conversation).

Provider Enrollment

Service providers are the individuals responding to consumers queriesand participating in engagements and streaming live video/audio over thenetwork. Providers agree to the terms of the brokerage, such as paymentfor their time in performing engagements, the protocol of conductdesired, and the ramification and distribution of liability in case ofviolations of that protocol.

Prior to joining the brokerage network, a provider establishes a profilethat that is searchable by consumers. The profile is used for severalpurposes, including determining the relative cost of the provider's timeto either the consumer or the brokerage sponsor, and providing consumerswith information that may be relevant to their choice to engage oneprovider versus another. Some information about the provider is verifiedby the brokerage (e.g., Tax ID, education, professional certification,demographics, and contact information), and some is acquired during theprovider's participation on the brokerage. Such data may include lengthof service, number of engagements, consumer satisfaction, projectedavailability, etc. A provider may also provide a general introductorynote, a picture, and voice and video welcome snippets. Providers mayalso add other information they deem relevant for consumers (e.g., alist of publications and honorary appointments) A table 340 in FIG. 4lists example profiling criteria that can be populated duringenrollment. The table 340 includes example criteria 342, specificexamples 344 of each criterion 342, and an indication 346 of whetherthat criterion would have an impact on engagement cost.

Individual service providers are also able to register and enroll withthe system. Individual service providers are independent serviceproviders not affiliated with a provider network.

As part of the provider selection process described above, consumersbenefit from access to introductory material from the provider. Asconsumers search for providers to meet their needs, they can select toview only providers where such material is available, producing anincentive for providers to take advantage of such capability.

Provider Ratings

To further improve the ability of consumers to choose appropriateservice providers, the brokerage includes a utility for rating theproducts and services provided by the service providers or by a serviceprovider network. The consumers provide feedback (positive and negative)to the system about the products and services provided by a particularservice provider. In addition, the service providers provide feedbackand evaluations of the products and services provided by other serviceproviders.

As part of the provider profile (and as a way for consumers to limittheir search), the system continuously updates each provider's profilewith metrics reflecting the quality of his or her interaction withconsumers. The metrics are updated at the conclusion of every engagementto allow providers immediate feedback as to their level of service. Insome examples, all searches for providers on the system are sorted byprovider rating by default, promoting higher-quality providers. Exampleparameters to be updated and taken into account in setting the ratinginclude consumers' overall ranking of the provider's engagement quality,the number of engagements made by this provider in the last 30 days oroverall, the number of returning engagements as a fraction of allengagements for that provider, the number of redirected engagements fromthis provider to another, and the average turnaround time for messagingwhile not “out-of-office.” In addition to the ratings each provider onthe system has a Provider Statistic Manifest stating operationalstatistics that may interest consumers, such as that provider'savailability for phone conferences over the last 30 days.

Consumers are asked to rank a provider at the end of the engagement aspart of the process of disconnecting. To encourage consumers to providesuch feedback, charges for the engagement continue to accrue until theconsumer completes the ranking. Such a process helps encourage providerengagements to end with a ranking entry, promoting a higher quality ofservice to the brokerage's consumers.

The Provider Console

Providers interact with consumers through a provider console web page.This interface is similar to that used by the consumers. The providerconsole provides access to the various tools used by providers. A windowinterface shows a live image of the consumer, provided via a web cam forexample on the consumers system with tools to control or disable thevideo feed. A phone control allows the provider to initiate a phone callwith the consumer. A log of an ongoing chat is displayed above an inputfor the provider's next comment. Other tools are available in tabs onthe side, such as accesses to the terms of operation and the legalpolicies of the brokerage, such as disclaimers. State setting allows theproviders to change his availability state between states such asoff-line, on-line and out-of-office. Scheduling allows providers toupdate their availability calendar with future times they expect to beavailable on the system, which can in turn result in consumers seeing a“scheduled” state for such providers.

Messaging tools allow providers to correspond with consumers inmessage-based engagements. The console also allows the provider toparticipate in chat engagements where the consumer and the providercommunicate back-and-forth in real-time by typing. The brokerage allowsa single provider to engage in more than one chat at a time to maximizehis yield while consumers are typing their entries. The chat featurealso allows the provider to forward specific lists of questions tofurther reduce the need for his time in acquiring information from theconsumer at the beginning of an engagement. Tools available to assistthe provider in chat or messaging may include a thread viewer, theconsumer's engagement history, a communication timeline chart, and alibrary of built-in and self-produced message templates for quickresponse. Such templates may also include references, links, andembedded graphical educational content on prevalent topics. In someexamples, the brokerage scans outbound messages for inappropriatelanguage based on the sponsor's preferences.

The console allows the provider to hold a voice conference engagementwith the consumer when the consumer is using either her computer or atelephone. The provider can use the console to redirect his end of theconference to a phone, for example, if bandwidth or other considerationsindicate it or simply based on personal preference. The console alsoallows the provider to engage in video conferences with consumers. Audiomay be served via the console or be may redirected to a telephone. Toverify a provider's identity when using the telephone for a voiceengagement, the system provides the provider with a PIN number throughthe provider console. When the provider calls into the system, oranswers the phone when called by the system, the provider enters the PINto confirm that the person on the phone is the same person who is loggedinto the console. This method is also used to leave secure voicemessage. When a provider wants to leave a message for a consumer, theprovider tells the console and receive a PIN. The provider then receivesa call from the system, enters the PIN, and leaves a message. Themessage is then delivered to the consumer with assurances that it wasleft by the provider.

The provider is able to review his account status, system settings, andpreferences. The provider can also access his profile and usersatisfaction and statistics as they are available to consumers. Theconsole also connects to financial services associated with theprovider's participation in the brokerage. This includes status ofcharges. The brokerage offers providers the ability to redirect messagesor requests for appointment to SMS-compatible cellular phones. In thismode, the provider associates a cell phone number with his account andestablishes the type of information that the system can send to themobile device. Such information may include engagement-relatednotifications as well as system-related notifications (e.g., anannouncement about a high-traffic state asking providers to makethemselves available and offering a higher fee to do so).

Sample Use Cases in the field of Live Video

Providers of real-time live videos may want generate income or otherrevenue by making their real-time, live videos accessible to consumersover the network. Using the techniques described herein, providers attheir discretion become “available” on the brokerage system 100. In someexamples, when a provider becomes “available,” this provideravailability indicates that the provider will be streaming or otherwiseproviding over the network a real-time, live video.

The brokerage system 100 determines the real time, discretionaryavailability of the providers. Based on this determination, thebrokerage system 100 matches a consumer with an available provider andestablishes a connection (e.g., a communication channel) between theconsumer and the provider. Specifically, brokerage system 100 matchesconsumers 120 of real-time, live videos and audio (collectively referredto as “video” herein, without limitation, and for the purposes ofconvenience) with providers 130 of live videos based on consumerspecified attributes for the type of live video the consumer would liketo view in real-time. The system 100 enables the consumer 120 to searchfor providers 130 who are providing (for example, by streaming) livevideos at the time the consumer 120 is searching and enables theconsumer 120 to engage a provider 130 on a transactional basis or for aone-time viewing of the provider's live video. In some embodiments, morethat one consumer 120 can access the same live video at that same time,whereas in other embodiments that access can be exclusive or private,possibly obtaining a premium fee.

Using an electronic motion picture acquisition device (e.g.,video-camera, mobile device, and BlackBerry™) (collectively referred toas “video camera” herein, without limitation, for the purposes ofconvenience) and a client system 132, providers, actors, consumers andother various individuals (collectively referred to as “actors 130”herein, without limitation, for the purposes of convenience) provideover a network (e.g., the Internet or an intranet) a live video of theactor performing various actions, including cooking, singing, dancingand engaging in various forms of adult entertainment, e.g., eroticactivities. The video camera records the actor's actions as real-timeimages and/or as a real-time data stream. The actor's client system 132sends the real-time images and/or real-time data stream over the network140 to a consumer's client system 122, enabling the consumer 120 to viewa live video of the actor's actions in real-time over the client system122.

Referring to FIG. 5, the server 110 matches 380 a consumer 120 with anactor 130 by performing and executing various processes. The server 110receives 372 from the actor 130 an instruction, data string orelectronic message (collectively referred to as “electronic message”herein, without limitation, and for the purpose of convenience)including attributes of a performance that will be embedded in the videoperformance indicative of the type of live video the actor is currentlystreaming over the network 140 (hereinafter “attributes” or “videoattributes”), as discussed in further detail below or anticipates toprovide at specified time. The server 110 stores 374 the attributes ofthe video performance. The server 110 receives 376 the attributes of theperformance (hereinafter “search attributes”) from the consumer 120, asdiscussed in further detail below. The server 110 retrieves 378 from thedatabase 118 or other data repository “video determination” rules. Theserver 110 applies 380 the video determination rules to the video searchattributes, as discussed in further detail below, to determine livevideos with video attributes matching the video search attributes. Theserver 110 also generates 382 a list of live videos with videoattributes matching the video search attributes.

To make a live video accessible in real-time through the brokeragesystem 100 to consumers 120, an actor 130 registers with the brokeragesystem, for example, by sending the brokerage system 100 an instructionor an electronic message (e.g., electronic mail messages, text messagesor short message service (“SMS”) messages) including the videoattributes indicative of the type of live video the actor is streamingover the network 140. The video attributes also specify a date and atime for which the live video is provided in real-time. The videoattributes include keywords, a text description, data tags and time anddate information for when the actor is providing the live video.

In one particular example, the actor 130 sends the server 110 anelectronic message specifying that the actor is providing a live cookingvideo on Jan. 11, 2010 from 10 am to 12 pm. In this example, thekeywords include “cooking, food, chef, and gourmet.” In another example,the actor 130 sends the server 110 an electronic message specifying thatthe actor is providing a live pornographic video on Feb. 2, 2010 from 9pm to 11 pm. In this example, the keywords include “pornography, voyeur,erotic and sex.” Additionally, the video attributes also include adescription of the type of live video. An example description includes“a live video of the actor undressing and dancing in a provocativemanner.” The server 110 also includes keyword generation rules thatgenerate a list of keywords based on the actor's entered description.

In another particular example, a provider streams over the network 140 alive video of a Broadway play, as the play takes place in real time. Aconsumer views the live play be searching the brokerage system 100 forlive videos of various plays, using the techniques described herein.When the consumer selects a specific play the consumer wants to view,the brokerage system streams the real-time video feed of the Broadwayplay to the consumer's system 122. The examples provided hereinafterrelated to the adult entertainment industry, for purposes ofconvenience. The techniques described herein are applicable, withoutlimitation, to other industries, businesses and sectors, including forexample the culinary sector.

The database 118 includes “live video entries” (e.g., a record or filefor an actor's live video). A live video entry is associated with orlinked (e.g., through a pointer) with the video's attributes (e.g., dataindicative of the type of live video and the date and time of thereal-time performance.) When the server 110 receives the actor'selectronic message, the server 110 generates a live video entry for theactor's live video. The server 110 parses the electronic message for thevideo's attributes indicative of the type of live video (e.g., thekeywords) and indicative of the date and time of the performance. Basedon the parsed attributes, the server 110 generates “video databaseentry” attributes corresponding to the attributes included in theelectronic message. The video database entry attributes are linked tothe live video entry.

To search for live videos, a consumer 120 accesses the brokerage system100 over the network 140 and sends the server 110 an electronic messageincluding search attributes (e.g., keywords or a text description) ofthe type of live video the consumer 120 wants to view. The server 110generates a graphical user interface that when rendered on a displaydevice renders a visual representation of search fields (e.g., textboxes). The consumer inputs into the search fields the various searchattributes (e.g., keywords or a written description) for the type oflive video the consumer wants to view. In one particular example, theconsumer 120 inputs the following attributes into the search fields:“live pornographic, sex video.” The search attributes are sent from theconsumer's client system 122 over the network 140 to the server 110.

The server 110 receives the search attributes, retrieves “videodetermination” rules from the database 118 or other data repositoriesand executes the video determination rules to determine live videosassociated with at least some of the search attributes specified in thesearch fields. The video determination rules compare the searchattributes to the video database entry attributes linked or associatedwith a live video entry in the database 118. When the search attributesmatch (e.g., exact match, similar match or some variation thereof) thevideo database entry attributes, the server 110 determines a “matchedvideo database entry,” a video that the consumer 120 may be interestedin viewing. In the example described above where the search attributesinclude “live pornographic, sex video,” the server 110 determinesthrough the application of the video determination rules actors who arestreaming real-time, live pornographic and live sex videos.

The server 110 generates a list of live videos (“matched live videos”)associated with attributes matching the consumer's search attributesbased on the matched video database entries. The server 110 sends theconsumer 120 the list of the matched live videos. The server 110generates an electronic message including the list of the matched livevideos and sends the electronic message to the consumer's client system122. The server 110 also generates a graphical user interface that whenrendered on a display device renders a visual representation of the listand a visual representation of the live videos included in the list. Thelive videos included in the list are associated with a link, selectionof which causes establishes a connection between the consumer's clientsystem 122 and the actor's client system 132. Through the connection,the consumer's client system 122 receives streamed data and/or real-timeimages from the actor's client system 132 that enables the consumer 120to view in real-time the actor's live video. Additionally, through theconnection, the consumer 120 also provides or streams a real-time, livevideo, enabling the consumer 120 and the actor 130 to both provide andview live videos simultaneously.

In another example, the real-time, live video is used to provide theconsumer with content the consumer is interested in viewing. In anexample, the live video does not being until the consumer selects toview the live-video and/or pays for the live video. For example, aprovider of cooking lessons may being streaming a live video of thecooking lessons once a consumer has indicated an interested in viewingthe live video on cooking lessons, for example, by purchasing thecooking lessons. In another example, the live video has already begunstreaming and/or is periodically streaming. In this example, theconsumer selects to view the real-time video and views the real-timevideo, e.g., that is already in progress and has already begunstreaming.

In another example, the real-time, live video may be provided as part ofbenefits that an employer provides to employees. In this example, theemployer may host a web site that allows employees to search for certaintypes of live, real-time videos, including, e.g., videos that matchcertain pre-defined attributes as described herein.

In an example, an employer hosts a website that enables employees tosearch for cooking videos, training videos (e.g., computer programmingtraining videos, CPR training videos, and so forth), and other videothat enable the employee to enhance the employee's skills. Although theabove examples are with regard to employers and employees, the aboveexamples are generally applicable to any other types of entities.

In an example, the techniques described herein are equally applicablefor searching for service providers satisfying pre-defined attributes.The system determines a service provider that is presently available toprovide a consultation and/or live video, for example, using theattributes received from a consumer in a request. Additionally, whilethe foregoing techniques are described with regard to live, real-timevideo, the foregoing techniques are equally applicable to searching forproviders for consultations and/or engagements, for example, based onattributes associated with the provider and/or with the engagement.

Embodiments can be implemented in digital electronic circuitry, or incomputer hardware, firmware, software, or in combinations thereof.Apparatus of the invention can be implemented in a computer programproduct tangibly embodied or stored in a machine-readable storage devicefor execution by a programmable processor; and method actions can beperformed by a programmable processor executing a program ofinstructions to perform functions of the invention by operating on inputdata and generating output. The invention can be implementedadvantageously in one or more computer programs that are executable on aprogrammable system including at least one programmable processorcoupled to receive data and instructions from, and to transmit data andinstructions to, a data storage system, at least one input device, andat least one output device. Each computer program can be implemented ina high-level procedural or object oriented programming language, or inassembly or machine language if desired; and in any case, the languagecan be a compiled or interpreted language.

Suitable processors include, by way of example, both general and specialpurpose microprocessors. Generally, a processor will receiveinstructions and data from a read-only memory and/or a random accessmemory. Generally, a computer will include one or more mass storagedevices for storing data files; such devices include magnetic disks,such as internal hard disks and removable disks; magneto-optical disks;and optical disks. Storage devices suitable for tangibly embodyingcomputer program instructions and data include all forms of non-volatilememory, including by way of example semiconductor memory devices, suchas EPROM, EEPROM, and flash memory devices; magnetic disks such asinternal hard disks and removable disks; magneto-optical disks; and CDROM disks. Any of the foregoing can be supplemented by, or incorporatedin, ASICs (application-specific integrated circuits).

Other embodiments are within the scope and spirit of the descriptionclaims. For examples, the techniques described herein are application toall video types, including pre-recording videos. For example, due to thenature of software, functions described above can be implemented usingsoftware, hardware, firmware, hardwiring, or combinations of any ofthese. Features implementing functions may also be physically located atvarious positions, including being distributed such that portions offunctions are implemented at different physical locations.

What is claimed is:
 1. A computer-implemented method comprises: receiving, by one or more computer systems, a request from a client system of a consumer for a provider having specified provider attributes to conduct a live performance, with the request specifying specific performance attributes to be embedded in the live performance; searching by the one or more computer systems a database of attributes of providers for performances of a type associated with the request; and sending a message to a system of a selected provider having one or more attributes corresponding to at least one of the specified provider attributes included in the request, the message specifying the specific performance attributes to be embedded in the live performance.
 2. The computer-implemented method of claim 1, further comprising: causing by the one or more computer systems a connection for electronic transmission of a live, real-time video that displays the performance of the selected provider, with the connection being between the client system of the consumer and the system of the selected provider of the live, real-time video.
 3. The computer-implemented method of claim 1 wherein the live, real-time video comprises a live, theatrical performance video.
 4. The computer-implemented method of claim 1 wherein the live, real-time video comprises a live, adult entertainment video.
 5. The computer-implemented method of claim 1, further comprising: establishing a communication channel between the client system of consumer and the system of the selected provider of the live, real-time video.
 6. The computer-implemented method of claim 1, further comprising: receiving a request to stream the live, real-time video to the client system associated with the consumer, wherein the system of the selected provider is instructed to begin streaming the live, real-time video to the client system associated with the consumer, following receipt of the request.
 7. The computer-implemented method of claim 1, further comprising: sending by the one or more computers results of the searching; receiving, by the one or more computers data indicative of selection of the selected provider from the results sent to the client system.
 8. The computer-implemented method of claim 1, further comprising: selecting by the one or more computers based on the results of the searching a provider as the selected provider of the performance having one or more attributes corresponding to at least one of the specified provider attributes included in the request.
 9. One or more machine-readable hardware storage devices storing instructions that are executable by one or more processing devices to perform operations comprising: receiving a request from a client system of a consumer for a provider having specified provider attributes to conduct a live performance, with the request specifying specific performance attributes to be embedded in the live performance; searching a database of attributes of providers for performances of a type associated with the request; and sending a message to a system of a selected provider having one or more attributes corresponding to at least one of the specified provider attributes included in the request, the message specifying the specific performance attributes to be embedded in the live performance.
 10. The one or more machine-readable hardware storage devices of claim 9, wherein the operations further comprise: causing a connection for electronic transmission of a live, real-time video that displays the performance of the selected provider, with the connection being between the client system of the consumer and the system of the selected provider of the live, real-time video.
 11. The one or more machine-readable hardware storage devices of claim 9 wherein the live, real-time video comprises a live, theatrical performance video.
 12. The one or more machine-readable hardware storage devices of claim 9 wherein the live, real-time video comprises a live, adult entertainment video.
 13. The one or more machine-readable hardware storage devices of claim 9, wherein the operations further comprise: establishing a communication channel between the client system of consumer and the system of the selected provider of the live, real-time video.
 14. The one or more machine-readable hardware storage devices of claim 9, wherein the operations further comprise: receiving a request to stream the live, real-time video to the client system associated with the consumer, wherein the system of the selected provider is instructed to begin streaming the live, real-time video to the client system associated with the consumer, following receipt of the request.
 15. The one or more machine-readable hardware storage devices of claim 9, wherein the operations further comprise: sending results of the searching; receiving data indicative of selection of the selected provider from the results sent to the client system.
 16. The one or more machine-readable hardware storage devices of claim 9, wherein the operations further comprise: selecting based on the results of the searching a provider as the selected provider of the performance having one or more attributes corresponding to at least one of the specified provider attributes included in the request.
 17. An electronic system comprising: one or more processing devices; and one or more machine-readable hardware storage devices storing instructions that are executable by the one or more processing devices to perform operations comprising: receiving a request from a client system of a consumer for a provider having specified provider attributes to conduct a live performance, with the request specifying specific performance attributes to be embedded in the live performance; searching a database of attributes of providers for performances of a type associated with the request; and sending a message to a system of a selected provider having one or more attributes corresponding to at least one of the specified provider attributes included in the request, the message specifying the specific performance attributes to be embedded in the live performance.
 18. The electronic system of claim 17, wherein the operations further comprise: causing a connection for electronic transmission of a live, real-time video that displays the performance of the selected provider, with the connection being between the client system of the consumer and the system of the selected provider of the live, real-time video.
 19. The electronic system of claim 17 wherein the live, real-time video comprises a live, theatrical performance video.
 20. The electronic system of claim 17 wherein the live, real-time video comprises a live, adult entertainment video.
 21. The electronic system of claim 17, wherein the operations further comprise: establishing a communication channel between the client system of consumer and the system of the selected provider of the live, real-time video.
 22. The electronic system of claim 17, wherein the operations further comprise: receiving a request to stream the live, real-time video to the client system associated with the consumer, wherein the system of the selected provider is instructed to begin streaming the live, real-time video to the client system associated with the consumer, following receipt of the request.
 23. The electronic system of claim 17, wherein the operations further comprise: sending results of the searching; receiving data indicative of selection of the selected provider from the results sent to the client system.
 24. The electronic system of claim 17, wherein the operations further comprise: selecting based on the results of the searching a provider as the selected provider of the performance having one or more attributes corresponding to at least one of the specified provider attributes included in the request. 